import { getTable } from '@/api/reportCenter';

const getTableHead = function(data) {
  return getTable({
    iVouchId: data.id
  }, data.headUrl).then(res => {
    if (res.success) {
      return Promise.resolve(res.data);
    }
  });
};
const getTableData = function(data) {
  return getTable(data, data.bodyUrl).then(res => {
    if (res.success) {
      return Promise.resolve({
        data: res.data,
        total: res.total
      });
    }
  });
};

export const getTableInfo = function(data, key) {
  const roleName = localStorage.getItem('xcRoleName');
  const siderName = localStorage.getItem('siderName');
  if (siderName.indexOf('按指标类型查询表') !== -1) {
    if (roleName.indexOf('财政') !== -1) {
      data.headUrl = 'produce/header';
      data.bodyUrl = 'produce/data';
    } else {
      data.headUrl = 'xProduce/header';
      data.bodyUrl = 'xProduce/data';
    }
  }

  const doActions = {
    head: getTableHead,
    data: getTableData
  };
  return doActions[key](data);
};

// 需要左侧固定的列
export const fixedKeyLeft = ['iId', 'enterprisename'];

// 指定某列宽度
export const expandColunms = [
  { key: 'CNAME1', width: 300 },
  { key: 'IID', width: 70 },
  { key: 'ENTERPRISENAME', width: 120 }
];

const roleName = localStorage.getItem('xcRoleName');
// 区分不同身份进入的接口(url)
const getTableUrl = () => {
  let url = 'xProduce';
  if (/[*财政*]/.test(roleName)) {
    url = 'produce';
  }
  return url;
};

export const TABLES_INFO = [
  {
    title: '乡镇按年指标汇总表',
    id: '8216',
    headUrl: 'xProduce/header',
    bodyUrl: 'xProduce/data'
  },
  {
    title: '乡镇按年指标核对表',
    id: '8211',
    headUrl: 'xProduce/header',
    bodyUrl: 'xProduce/data'
  },
  {
    title: '按指标类型查询表',
    id: '8011',
    headUrl: getTableUrl() + '/header',
    bodyUrl: getTableUrl() + '/data'
  },
  {
    title: '预算明细表',
    id: '8095',
    headUrl: 'produce/header',
    bodyUrl: 'produce/data'
  },
  {
    title: '工资福利支出情况表（三）',
    id: '8285',
    headUrl: 'xProduce/header',
    bodyUrl: 'xProduce/data'
  },
  {
    title: '按本级预算查询表',
    id: '8014',
    headUrl: 'xProduce/header',
    bodyUrl: 'xProduce/data'
  },
  {
    title: '按上级补助查询表',
    id: '8013',
    headUrl: 'xProduce/header',
    bodyUrl: 'xProduce/data'
  }

];

// 预算明细表 dialog tabs 数据
export const budgetSchedule = [
  {
    title: '分口数',
    id: '8095',
    headUrl: 'produce/header',
    bodyUrl: 'produce/data'
  },
  {
    title: '预算数',
    id: '8091',
    headUrl: 'produce/header',
    bodyUrl: 'produce/data'
  },
  {
    title: '直拨款',
    id: '8092',
    headUrl: 'produce/header',
    bodyUrl: 'produce/data'
  },
  {
    title: '计划批复数',
    id: '8093',
    headUrl: 'produce/header',
    bodyUrl: 'produce/data'
  },
  {
    title: '中心支付数',
    id: '8094',
    headUrl: 'produce/header',
    bodyUrl: 'produce/data'
  }

];

// 显示查看明细（操作那列）
export const showDetailViewArr = ['按指标类型查询表', '按本级预算查询表', '按上级补助查询表'];

// 显示多条件查询按钮
export const showFilterBtnArr = showDetailViewArr;

const filterArr1 = [
  // 0 是下拉树 1 是input 2 是下拉框
  {
    // 核算单位
    url: 'capital/getAllEnterprise',
    placeholder: '核算单位',
    formType: '0',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cEnterpriseCode'

  },
  {
    // 全部功能科目
    url: 'capital/getAllFunctionSection',
    placeholder: '功能科目',
    formType: '0',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cFunctionCode'
  },

  {
    // 发文文号
    placeholder: '发文文号',
    formType: '1',
    value: '',
    symbol: 'ct',
    col: 'fileno'
  },
  {
    // 资金来源
    url: 'capital/getAllResource',
    placeholder: '资金来源',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cResourceCode'
  },
  {
    // ? 指标类型
    url: 'capital/getAllBudgetCategory',
    placeholder: '指标类型',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cBudgetCategoryCode'
  },
  {
    // ? 项目类型
    url: 'capital/getAllProgramType',
    placeholder: '项目类型',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cProgramTypeCode'
  },
  {
    // 部门经济科目
    url: 'capital/getAllSection',
    placeholder: '部门经济科目',
    formType: '0',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'CECONOMYSECTIONCODE'
  },
  {
    // 政府经济科目
    url: 'capital/getAllGovSection',
    placeholder: '政府经济科目',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'CECONOMYSECTIONGOVCODE'
  },
  {
    // 指标摘要
    placeholder: '指标摘要',
    formType: '1',
    value: '',
    symbol: 'ct',
    col: 'cZbglSummary'
  },
  {
    // 主管科室
    url: 'capital/getAllDivision',
    placeholder: '主管科室',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cDivisionCode'
  }
];

const filterArr2 = [
  // 0 是下拉树 1 是input 2 是下拉框
  {
    // 核算单位
    url: 'capital/getAllEnterpriseXz',
    placeholder: '核算单位',
    formType: '0',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cEnterpriseCode'

  },
  {
    // 全部功能科目
    url: 'capital/getAllFunctionSectionXz',
    placeholder: '功能科目',
    formType: '0',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cFunctionCode'
  },

  {
    // 发文文号
    placeholder: '发文文号',
    formType: '1',
    value: '',
    symbol: 'ct',
    col: 'fileno'
  },
  {
    // 资金来源
    url: 'capital/getAllResourceXz',
    placeholder: '资金来源',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cResourceCode'
  },
  {
    // ? 指标类型
    url: 'capital/getAllBudgetCategoryXz',
    placeholder: '指标类型',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cBudgetCategoryCode'
  },
  {
    // ? 项目类型
    url: 'capital/getAllProgramTypeXz',
    placeholder: '项目类型',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cProgramTypeCode'
  },
  {
    // 部门经济科目
    url: 'capital/getAllSectionXz',
    placeholder: '部门经济科目',
    formType: '0',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'CECONOMYSECTIONCODE'
  },
  {
    // 政府经济科目
    url: 'capital/getAllGovSectionXz',
    placeholder: '政府经济科目',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'CECONOMYSECTIONGOVCODE'
  },
  {
    // 指标摘要
    placeholder: '指标摘要',
    formType: '1',
    value: '',
    symbol: 'ct',
    col: 'cZbglSummary'
  },
  {
    // 主管科室
    url: 'capital/getAllDivisionXz',
    placeholder: '主管科室',
    formType: '2',
    value: '',
    symbol: 'eq',
    showLabel: 'cName',
    col: 'cDivisionCode'
  }
];

// 多条件查询 不同表对应的数据
export const filterData = {
  '按指标类型查询表': filterArr1,
  '按上级补助查询表': filterArr2,
  '按本级预算查询表': filterArr2
};
